package exception;

/**
 * java异常处理机制：try...catch
 * try{
 *       代码片段
 * }catch(XXXException e){
 * 当try的代码片段出现XXXException时的补救措施
 * }
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        /*
        try块中某句代码如果出现了异常，那么try块中这句代码以下的代码都不执行了
        try语句中如果不出现异常，catch块不执行
        */
        try {
           /* String line = null;
            System.out.println(line);*/

            String line = "";
            //System.out.println(line.charAt(0));
            System.out.println(line);

//            line = "abc";
//            System.out.println(Integer.parseInt(line));//把里面的字符串类型转换为整数类型

        } catch (NullPointerException |StringIndexOutOfBoundsException e) {
            System.out.println("出现空指针或字符串越界异常并解决了");
        } catch (NumberFormatException e) {
            System.out.println("出现数字格式异常并解决了");
        }catch (Exception e){//可以在最后捕获超类型异常，凡是该异常的子类型都可 以被捕获并处理
            System.out.println("反正出了个错并解决了");
        }
        System.out.println("程序结束了");
    }
}
